<template>
<div></div>
</template>

<script>
export default {
  // js
  data () {
    return {
      files: [],
      fileList: []
    }
  },

  methods: {
    // 预览图片
    afterRead (file) {
      // 此时可以自行将文件上传至服务器
      this.files.push(file)
    },
    dataURLtoFile (dataurl, filename) {
      // 将base64转换为file文件
      const arr = dataurl.split(',')
      const mime = arr[0].match(/:(.*?);/)[1]
      const bstr = atob(arr[1])
      let n = bstr.length
      const u8arr = new Uint8Array(n)
      while (n--) {
        u8arr[n] = bstr.charCodeAt(n)
      }
      return new File([u8arr], filename, { type: mime })
    },
    beforeRead (file) {
      // 上传之前检测图片类似返回true和false会影响到onRead函数
      const regex = /(.jpg|.jpeg|.png|.bmp)$/
      if (!regex.test(file.type)) {
        // Toast('图片格式不支持上传')
        return false
      } else {
        return true
      }
    },
    // 提交上传图片
    upImg () {
      var file = this.files
      var that = this
      if (that.files.length === 0) {
        // Toast('请上传申请仲裁的图片')
      } else {
        let cont = 0 // let一个 cont 为 0 ，上传成功一张图片便加一 如果上传的图片索引 等于上传的次数就提醒用户上传成功并刷新页面
        var x = 0
        for (var i in file) {
          (function (a) {
            setTimeout(function () {
              const canvas = document.createElement('canvas') // 创建Canvas对象(画布)
              const context = canvas.getContext('2d')
              const img = new Image()
              img.src = a.content // 指定图片的DataURL(图片的base64编码数据)
              img.onload = () => {
                canvas.width = 200
                canvas.height = 150 //  图片的长宽来改变图片的大小
                context.drawImage(img, 0, 0, 200, 150)
                a.content = canvas.toDataURL(a.file.size, 0.92) // 0.92为默认压缩质量
                const files = that.dataURLtoFile(a.content, a.file.name)
                const formData = new FormData()
                formData.append('file', files)
                formData.append('user_id', that.$getCookie('userID'))
                formData.append('id', that.oblimisg.id)
                that.http
                  .post('/trading/confirm-arbitration', formData, {
                    headers: {
                      'content-Type': 'multipart/form-data'
                    }
                  })
                  .then(res => {
                    if (res.code === '2000') {
                      cont++
                      if (cont === file.length) {
                        that.reload() // 在想要刷新页面的时候调用reload方法
                        that.$router.go(-1)
                        // Toast('您提交的信息已上传请等待管理员审核')
                      }
                    }
                  })
              }
            }, x * 500)
          })(file[i])
          x++
        }
      }
    }
  }

}
</script>

<style>
</style>
